/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * GUIPrincipal.java
 *
 * Created on 15-oct-2011, 20:36:38
 */
package GUI;

import BE.BEEmpleado;
import BE.BEInterface;
import BE.BEPerfil;
import BE.BEProducto;
import BE.BEUsuario;
import BE.BEPallet;
import BL.BLCardex;
import BL.BLEmpleado;
import GUI.Almacen.GUIAlmacen;
import GUI.Clientes.GUIMantenimientoCliente;
import GUI.Contactos.GUIMantenimientoContacto;
import GUI.Empleados.GUIMantenimientoEmpleado;
import GUI.Paleta.GUIMantenimientoPaleta;
import GUI.Pallet.GUIMantenimientoPallet;
import GUI.Procesamiento.GUIAnularMovimiento;
import GUI.Procesamiento.GUIRegistrarIncidencia;
//import GUI.Procesamiento.GUIRegistrarIngreso;
import GUI.Procesamiento.GUIRegistrarIngreso;
import GUI.Procesamiento.GUIRegistrarTraslado;

import GUI.Procesamiento.GUIVisualizacion;
import GUI.Productos.GUIMantenimientoProducto;
import GUI.Proveedor.GUIMantenimientoProveedor;
import GUI.Racks.GUIMantenimientoRack;

import GUI.Reportes.dlgReporteInventarioGeneral;
import GUI.Reportes.dlgReporteMermasYPerdidas;
import GUI.Reportes.dlgReporteStockXProducto;
import GUI.Reportes.dlgReporteTrazabilidadPallets;
import GUI.Seguridad.GUIMantenimientoParametrosSeguridad;
import GUI.Seguridad.GUIMantenimientoPerfiles;
import GUI.Seguridad.GUIMantenimientoUsuarios;

import GUI.Zonas.GUIMantenimientoZonas;
import BL.BLGrafoAlmacen;
import BL.BLModelo;
import BL.BLParametrosAlerta;
import GUI.CargaMasiva.CargaMasiva;
import GUI.MotivoMovimiento.GUIMantenimientoMotivoMovimiento;
import GUI.Procesamiento.GUIRegistrarDespacho;

import GUI.Reportes.dlgReporteKardex;
import GUI.Visualizacion.GestorDibujo;
import GUI.Visualizacion.Ventana;
import GUIalmacen.VentanaPrincipal;
import GUI.Alerta.GUIAlerta;

import GUIalmacen.almacen2;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.IOException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import GUI.Procesamiento.GUIParametrosDespacho;
import GUI.Seguridad.GUIReporteLogs;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

/**
 *
 * @author PUKI
 */
public class GUIfrmPrincipal extends javax.swing.JFrame {

    BLGrafoAlmacen blGrafoAlmacen;
    BEPerfil objPerfil;
    BEUsuario objUsuario;
    /** Creates new form GUIPrincipal */
    public GUIfrmPrincipal() {
       initComponents();
        
       fondo f= new fondo(300,600,"",this);
       this.add(f,BorderLayout.CENTER);
       this.pack();
    }

    GUIfrmPrincipal(BEPerfil Perfil,BEUsuario Usuario) {
       initComponents();
        
       fondo f= new fondo(300,600,"",this);
       this.add(f,BorderLayout.CENTER);
       this.pack();
       objPerfil= Perfil;
       objUsuario= Usuario;
       BLCardex.setObjUsuario(objUsuario);
       Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
       this.setSize(screenSize);
       lbUsuario.setText(lbUsuario.getText()+objUsuario.getUsuario()+"");
       BLEmpleado objGestorEmpleado = new BLEmpleado();
       BEEmpleado objEmpleado= objGestorEmpleado.obtenerEmpleadoPorIdUsuario(objUsuario.getIdUsuario());
       
       if (objEmpleado!= null){
            lbTrabajador.setText(lbTrabajador.getText()+objEmpleado.getApePaterno()+" "+objEmpleado.getApeMaterno()+", "+objEmpleado.getNombre());
       }
       else {
            lbTrabajador.setText(lbTrabajador.getText()+"-----");
       }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        pnlVencimiento = new javax.swing.JPanel();
        lblVencimiento = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        tblVencidos = new javax.swing.JTable();
        jScrollPane3 = new javax.swing.JScrollPane();
        tblVencimiento = new javax.swing.JTable();
        lblVencido = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblStockMin = new javax.swing.JTable();
        lblStockMin = new javax.swing.JLabel();
        tbVentanaPrincipal = new javax.swing.JToolBar();
        lbUsuario = new javax.swing.JLabel();
        lb1 = new javax.swing.JLabel();
        lbTrabajador = new javax.swing.JLabel();
        pnlImagen = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        mnuMenu = new javax.swing.JMenuBar();
        mnuArchivo = new javax.swing.JMenu();
        mnuUsuario = new javax.swing.JMenu();
        mnuCambiarContrasenha = new javax.swing.JMenuItem();
        mnuCerrarSesion = new javax.swing.JMenuItem();
        mnuSalir = new javax.swing.JMenuItem();
        mnuMantenimientos = new javax.swing.JMenu();
        jMenuItem8 = new javax.swing.JMenuItem();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenuItem5 = new javax.swing.JMenuItem();
        jSeparator3 = new javax.swing.JPopupMenu.Separator();
        mnuProductos = new javax.swing.JMenuItem();
        jMenuItem6 = new javax.swing.JMenuItem();
        MnPallet = new javax.swing.JMenuItem();
        jSeparator4 = new javax.swing.JPopupMenu.Separator();
        jMenuItem7 = new javax.swing.JMenuItem();
        jmiEmpleados = new javax.swing.JMenuItem();
        jSeparator5 = new javax.swing.JPopupMenu.Separator();
        mnuParametrosAlerta = new javax.swing.JMenuItem();
        mnuCargaMasiva = new javax.swing.JMenuItem();
        jMenu4 = new javax.swing.JMenu();
        mnuRegistrarInternamiento = new javax.swing.JMenuItem();
        mnuRegistrarDespacho = new javax.swing.JMenuItem();
        mnuRegistrarTraslado = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        mnuParDespacho = new javax.swing.JMenuItem();
        mnuVisualizarAlmacen = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        mnuUsuarios = new javax.swing.JMenuItem();
        mnuParametrosSeguridad = new javax.swing.JMenuItem();
        mnuPerfiles = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenu3 = new javax.swing.JMenu();
        jmiReporteTrazabilidadPallets = new javax.swing.JMenuItem();
        jmiMermasYPerdidas = new javax.swing.JMenuItem();
        jmiInventarioGeneral = new javax.swing.JMenuItem();
        jMenuItem1 = new javax.swing.JMenuItem();
        mnuReporteCardex = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("MENU PRINCIPAL");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setExtendedState(6);
        setFocusCycleRoot(false);
        setName(""); // NOI18N
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });

        pnlVencimiento.setBorder(javax.swing.BorderFactory.createTitledBorder("Notificaciones"));

        lblVencimiento.setText("No hay pallets que estén en riesgo de VENCIMIENTO");

        tblVencidos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "IDPALLET", "PRODUCTO", "CANTIDAD", "F. VENCIMIENTO"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane2.setViewportView(tblVencidos);

        tblVencimiento.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "IDPALLET", "PRODUCTO", "CANTIDAD", "F. VENCIMIENTO"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane3.setViewportView(tblVencimiento);

        lblVencido.setText("No hay pallets que estén VENCIDOS");

        tblStockMin.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "IDPRODUCTO", "NOMBRE", "CANTIDAD", "STOCK MINIMO"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane1.setViewportView(tblStockMin);

        lblStockMin.setText("Ningún producto se acerca a su STOCK MINIMO");

        javax.swing.GroupLayout pnlVencimientoLayout = new javax.swing.GroupLayout(pnlVencimiento);
        pnlVencimiento.setLayout(pnlVencimientoLayout);
        pnlVencimientoLayout.setHorizontalGroup(
            pnlVencimientoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlVencimientoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnlVencimientoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 334, Short.MAX_VALUE)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 334, Short.MAX_VALUE)
                    .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 334, Short.MAX_VALUE)
                    .addComponent(lblStockMin, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblVencimiento, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblVencido, javax.swing.GroupLayout.Alignment.LEADING))
                .addContainerGap())
        );
        pnlVencimientoLayout.setVerticalGroup(
            pnlVencimientoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlVencimientoLayout.createSequentialGroup()
                .addComponent(lblStockMin)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 211, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblVencimiento)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblVencido)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        tbVentanaPrincipal.setRollover(true);
        tbVentanaPrincipal.setEnabled(false);

        lbUsuario.setText("Usuario: ");
        tbVentanaPrincipal.add(lbUsuario);

        lb1.setText(" / ");
        tbVentanaPrincipal.add(lb1);

        lbTrabajador.setText("Trabajador: ");
        tbVentanaPrincipal.add(lbTrabajador);

        pnlImagen.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));

        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/GUI/rack shot.JPG"))); // NOI18N
        jLabel1.setText(".....");

        javax.swing.GroupLayout pnlImagenLayout = new javax.swing.GroupLayout(pnlImagen);
        pnlImagen.setLayout(pnlImagenLayout);
        pnlImagenLayout.setHorizontalGroup(
            pnlImagenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlImagenLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 452, Short.MAX_VALUE)
                .addContainerGap())
        );
        pnlImagenLayout.setVerticalGroup(
            pnlImagenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlImagenLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 573, Short.MAX_VALUE)
                .addContainerGap())
        );

        mnuArchivo.setText("Archivo");

        mnuUsuario.setText("Usuario");

        mnuCambiarContrasenha.setText("Cambiar Contraseña");
        mnuCambiarContrasenha.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuCambiarContrasenhaActionPerformed(evt);
            }
        });
        mnuUsuario.add(mnuCambiarContrasenha);

        mnuCerrarSesion.setText("Cerrar Sesion");
        mnuCerrarSesion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuCerrarSesionActionPerformed(evt);
            }
        });
        mnuUsuario.add(mnuCerrarSesion);

        mnuArchivo.add(mnuUsuario);

        mnuSalir.setText("Salir");
        mnuSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuSalirActionPerformed(evt);
            }
        });
        mnuArchivo.add(mnuSalir);

        mnuMenu.add(mnuArchivo);

        mnuMantenimientos.setText("Mantenimientos");
        mnuMantenimientos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuMantenimientosActionPerformed(evt);
            }
        });

        jMenuItem8.setText("Almacen");
        jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem8ActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(jMenuItem8);

        jMenuItem3.setText("Zonas");
        jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem3ActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(jMenuItem3);

        jMenuItem5.setText("Racks");
        jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem5ActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(jMenuItem5);
        mnuMantenimientos.add(jSeparator3);

        mnuProductos.setText("Productos");
        mnuProductos.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                mnuProductosMouseClicked(evt);
            }
        });
        mnuProductos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuProductosActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(mnuProductos);

        jMenuItem6.setText("Paleta");
        jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem6ActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(jMenuItem6);

        MnPallet.setText("Pallet");
        MnPallet.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MnPalletActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(MnPallet);
        mnuMantenimientos.add(jSeparator4);

        jMenuItem7.setText("Contactos");
        jMenuItem7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem7ActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(jMenuItem7);

        jmiEmpleados.setText("Empleados");
        jmiEmpleados.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiEmpleadosActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(jmiEmpleados);
        mnuMantenimientos.add(jSeparator5);

        mnuParametrosAlerta.setText("Parámetros Alerta");
        mnuParametrosAlerta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuParametrosAlertaActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(mnuParametrosAlerta);

        mnuCargaMasiva.setText("Carga Masiva");
        mnuCargaMasiva.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuCargaMasivaActionPerformed(evt);
            }
        });
        mnuMantenimientos.add(mnuCargaMasiva);

        mnuMenu.add(mnuMantenimientos);

        jMenu4.setText("Procesamiento");
        jMenu4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenu4ActionPerformed(evt);
            }
        });

        mnuRegistrarInternamiento.setText("Registrar Internamiento");
        mnuRegistrarInternamiento.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuRegistrarInternamientoActionPerformed(evt);
            }
        });
        jMenu4.add(mnuRegistrarInternamiento);

        mnuRegistrarDespacho.setText("Registrar Despacho");
        mnuRegistrarDespacho.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuRegistrarDespachoActionPerformed(evt);
            }
        });
        jMenu4.add(mnuRegistrarDespacho);

        mnuRegistrarTraslado.setText("Registrar Traslado");
        mnuRegistrarTraslado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuRegistrarTrasladoActionPerformed(evt);
            }
        });
        jMenu4.add(mnuRegistrarTraslado);
        jMenu4.add(jSeparator1);

        mnuParDespacho.setText("Parámetros Despacho");
        mnuParDespacho.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuParDespachoActionPerformed(evt);
            }
        });
        jMenu4.add(mnuParDespacho);

        mnuVisualizarAlmacen.setText("Visualizar Almacén");
        mnuVisualizarAlmacen.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuVisualizarAlmacenActionPerformed(evt);
            }
        });
        jMenu4.add(mnuVisualizarAlmacen);

        mnuMenu.add(jMenu4);

        jMenu2.setText("Seguridad");

        mnuUsuarios.setText("Usuarios");
        mnuUsuarios.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                mnuUsuariosMouseClicked(evt);
            }
        });
        mnuUsuarios.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuUsuariosActionPerformed(evt);
            }
        });
        jMenu2.add(mnuUsuarios);

        mnuParametrosSeguridad.setText("Parametros de Seguridad");
        mnuParametrosSeguridad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuParametrosSeguridadActionPerformed(evt);
            }
        });
        jMenu2.add(mnuParametrosSeguridad);

        mnuPerfiles.setText("Perfiles");
        mnuPerfiles.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuPerfilesActionPerformed(evt);
            }
        });
        jMenu2.add(mnuPerfiles);

        jMenuItem2.setText("Reporte Logs");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu2.add(jMenuItem2);

        mnuMenu.add(jMenu2);

        jMenu3.setText("Reportes");

        jmiReporteTrazabilidadPallets.setText("Trazabilidad de Pallets");
        jmiReporteTrazabilidadPallets.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiReporteTrazabilidadPalletsActionPerformed(evt);
            }
        });
        jMenu3.add(jmiReporteTrazabilidadPallets);

        jmiMermasYPerdidas.setText("Mermas y Pérdidas");
        jmiMermasYPerdidas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiMermasYPerdidasActionPerformed(evt);
            }
        });
        jMenu3.add(jmiMermasYPerdidas);

        jmiInventarioGeneral.setText("Inventario Pallet");
        jmiInventarioGeneral.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiInventarioGeneralActionPerformed(evt);
            }
        });
        jMenu3.add(jmiInventarioGeneral);

        jMenuItem1.setText("Inventario Productos");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem1ActionPerformed(evt);
            }
        });
        jMenu3.add(jMenuItem1);

        mnuReporteCardex.setText("Kardex");
        mnuReporteCardex.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnuReporteCardexActionPerformed(evt);
            }
        });
        jMenu3.add(mnuReporteCardex);

        mnuMenu.add(jMenu3);

        setJMenuBar(mnuMenu);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(tbVentanaPrincipal, javax.swing.GroupLayout.DEFAULT_SIZE, 878, Short.MAX_VALUE)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(pnlImagen, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(pnlVencimiento, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(pnlImagen, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(pnlVencimiento, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(tbVentanaPrincipal, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        getAccessibleContext().setAccessibleDescription("");

        pack();
    }// </editor-fold>//GEN-END:initComponents

private void mnuUsuariosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_mnuUsuariosMouseClicked
// TODO add your handling code here:
    
}//GEN-LAST:event_mnuUsuariosMouseClicked

private void mnuUsuariosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuUsuariosActionPerformed
// TODO add your handling code here:
    GUIMantenimientoUsuarios frmMantUsr = new GUIMantenimientoUsuarios(null, rootPaneCheckingEnabled);
    frmMantUsr.setResizable(false);
    frmMantUsr.setVisible(true);
}//GEN-LAST:event_mnuUsuariosActionPerformed

private void mnuParametrosSeguridadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuParametrosSeguridadActionPerformed
// TODO add your handling code here:
    GUIMantenimientoParametrosSeguridad frmParSeg = new GUIMantenimientoParametrosSeguridad(null, rootPaneCheckingEnabled);
    frmParSeg.setResizable(false);
    frmParSeg.setVisible(true);
}//GEN-LAST:event_mnuParametrosSeguridadActionPerformed

private void mnuPerfilesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuPerfilesActionPerformed
// TODO add your handling code here:
    GUIMantenimientoPerfiles frmMantPerf = new GUIMantenimientoPerfiles(null, rootPaneCheckingEnabled);
    frmMantPerf.setResizable(false);
    frmMantPerf.setVisible(true);
}//GEN-LAST:event_mnuPerfilesActionPerformed

private void jmiReporteTrazabilidadPalletsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiReporteTrazabilidadPalletsActionPerformed
    dlgReporteTrazabilidadPallets frmTrazabilidadPallets = new dlgReporteTrazabilidadPallets(this,true);
    frmTrazabilidadPallets.setResizable(false);
    frmTrazabilidadPallets.setVisible(true);
    
    // TODO add your handling code here:
}//GEN-LAST:event_jmiReporteTrazabilidadPalletsActionPerformed

private void jmiMermasYPerdidasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiMermasYPerdidasActionPerformed
    dlgReporteMermasYPerdidas frmMermasYPerdidas = new dlgReporteMermasYPerdidas(this,true);
    frmMermasYPerdidas.setResizable(false);
    frmMermasYPerdidas.setVisible(true);
    // TODO add your handling code here:
}//GEN-LAST:event_jmiMermasYPerdidasActionPerformed

private void jmiInventarioGeneralActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiInventarioGeneralActionPerformed
    dlgReporteInventarioGeneral frmInventarioGeneral = new dlgReporteInventarioGeneral(this,true);
    frmInventarioGeneral.setResizable(false);
    frmInventarioGeneral.setVisible(true);
    // TODO add your handling code here:
}//GEN-LAST:event_jmiInventarioGeneralActionPerformed

private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
// TODO add your handling code here:
    setExtendedState(MAXIMIZED_BOTH);
    habilitarPerfil();
    mostrarNotificaciones();
    
}//GEN-LAST:event_formWindowOpened

private void mnuSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuSalirActionPerformed
    this.dispose();
}//GEN-LAST:event_mnuSalirActionPerformed

private void mnuCerrarSesionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuCerrarSesionActionPerformed
    this.setVisible(false);
    GUIfrmLogin frmLog = new GUIfrmLogin();
    frmLog.setVisible(true);
    this.dispose();
}//GEN-LAST:event_mnuCerrarSesionActionPerformed

private void mnuCambiarContrasenhaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuCambiarContrasenhaActionPerformed
    GUICambiarContrasenha frmCambiarContrasenha= new GUICambiarContrasenha(this, rootPaneCheckingEnabled, objUsuario);
    frmCambiarContrasenha.setVisible(true);
}//GEN-LAST:event_mnuCambiarContrasenhaActionPerformed

private void mnuMantenimientosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuMantenimientosActionPerformed

    
    CargaMasiva frmCargaMasiva= new CargaMasiva(this, rootPaneCheckingEnabled);
    frmCargaMasiva.setVisible(true);
    
    
    
}//GEN-LAST:event_mnuMantenimientosActionPerformed

private void MnPalletActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MnPalletActionPerformed
        // TODO add your handling code here:

        GUIMantenimientoPallet dlgMantPallet = new GUIMantenimientoPallet(this, true);
        dlgMantPallet.setResizable(false);
        dlgMantPallet.setVisible(true);
}//GEN-LAST:event_MnPalletActionPerformed

private void jmiEmpleadosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiEmpleadosActionPerformed
    GUIMantenimientoEmpleado frmMantenimientoEmpleado = new GUIMantenimientoEmpleado(this, true);
    frmMantenimientoEmpleado.setResizable(false);
    frmMantenimientoEmpleado.setVisible(true);
    
    
    // TODO add your handling code here:
}//GEN-LAST:event_jmiEmpleadosActionPerformed

private void jMenuItem8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem8ActionPerformed
// TODO add your handling code here:
    GUIAlmacen frmMantenimientoAlmacen = new GUIAlmacen(this,true);   
    frmMantenimientoAlmacen.setVisible(true);
}//GEN-LAST:event_jMenuItem8ActionPerformed

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem7ActionPerformed
// TODO add your handling code here:
    
    GUIMantenimientoContacto  frmMantenimientoContacto =new GUIMantenimientoContacto(this,true);    
    frmMantenimientoContacto.setVisible(true);
    
}//GEN-LAST:event_jMenuItem7ActionPerformed

private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem6ActionPerformed
    GUIMantenimientoPaleta frmMantenimeintoPallet = new GUIMantenimientoPaleta(this,true);
    frmMantenimeintoPallet.setResizable(false);
    frmMantenimeintoPallet.setVisible(true);
}//GEN-LAST:event_jMenuItem6ActionPerformed

private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem5ActionPerformed
    GUIMantenimientoRack dlgMantenimientoRack = new GUIMantenimientoRack(this, true,objUsuario);
    dlgMantenimientoRack.setResizable(false);
    dlgMantenimientoRack.setVisible(true);
}//GEN-LAST:event_jMenuItem5ActionPerformed

private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
    GUIMantenimientoZonas frmMantenimientoZona = new GUIMantenimientoZonas(this, true,objUsuario);
    frmMantenimientoZona.setResizable(false);
    frmMantenimientoZona.setVisible(true);
}//GEN-LAST:event_jMenuItem3ActionPerformed

private void mnuProductosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuProductosActionPerformed
    GUIMantenimientoProducto frmProducto = new GUIMantenimientoProducto(this, true,objUsuario);
    frmProducto.setResizable(false);
    frmProducto.setVisible(true);
}//GEN-LAST:event_mnuProductosActionPerformed

private void mnuProductosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_mnuProductosMouseClicked
// TODO add your handling code here:
    
    
    
    
}//GEN-LAST:event_mnuProductosMouseClicked

private void mnuCargaMasivaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuCargaMasivaActionPerformed
    CargaMasiva frmCargaMasiva = new CargaMasiva(this, rootPaneCheckingEnabled);
    frmCargaMasiva.setVisible(true);
}//GEN-LAST:event_mnuCargaMasivaActionPerformed

private void mnuReporteCardexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuReporteCardexActionPerformed
    dlgReporteKardex frmReportCardex = new dlgReporteKardex(this, rootPaneCheckingEnabled);
    frmReportCardex.setVisible(true);
}//GEN-LAST:event_mnuReporteCardexActionPerformed

    private void mnuParametrosAlertaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuParametrosAlertaActionPerformed
        // TODO add your handling code here:
        GUIAlerta frmAlerta = new GUIAlerta(this, rootPaneCheckingEnabled);
        frmAlerta.setVisible(true);
        
        this.mostrarNotificaciones();
    }//GEN-LAST:event_mnuParametrosAlertaActionPerformed

    private void jMenu4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu4ActionPerformed

    }//GEN-LAST:event_jMenu4ActionPerformed

    private void mnuVisualizarAlmacenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuVisualizarAlmacenActionPerformed
        try {
            almacen2 frmVisualizarAlmacen = new almacen2();
        } catch (IOException ex) {
            Logger.getLogger(GUIfrmPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        }
            
    }//GEN-LAST:event_mnuVisualizarAlmacenActionPerformed

    private void mnuRegistrarTrasladoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuRegistrarTrasladoActionPerformed
            GUIRegistrarTraslado frmRegisTranslado = new GUIRegistrarTraslado(this, rootPaneCheckingEnabled);
            frmRegisTranslado.setVisible(rootPaneCheckingEnabled);
            
            this.mostrarNotificaciones();
    }//GEN-LAST:event_mnuRegistrarTrasladoActionPerformed

    private void mnuRegistrarInternamientoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuRegistrarInternamientoActionPerformed
            GUIRegistrarIngreso frmRegIngreso = new GUIRegistrarIngreso(this, rootPaneCheckingEnabled);
            frmRegIngreso.setVisible(rootPaneCheckingEnabled);
            
            this.mostrarNotificaciones();
    }//GEN-LAST:event_mnuRegistrarInternamientoActionPerformed

    private void mnuRegistrarDespachoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuRegistrarDespachoActionPerformed
           GUIRegistrarDespacho frmRegDesp = new GUIRegistrarDespacho(this, rootPaneCheckingEnabled);
           frmRegDesp.setVisible(rootPaneCheckingEnabled);
           
           this.mostrarNotificaciones();
    }//GEN-LAST:event_mnuRegistrarDespachoActionPerformed

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
            dlgReporteStockXProducto frmStockxProd = new dlgReporteStockXProducto(this, rootPaneCheckingEnabled);
            frmStockxProd.setVisible(rootPaneCheckingEnabled);
            frmStockxProd.setResizable(false);
}//GEN-LAST:event_jMenuItem1ActionPerformed

    private void mnuParDespachoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuParDespachoActionPerformed
        // TODO add your handling code here:
        GUIParametrosDespacho frmParDespacho = new GUIParametrosDespacho(this,rootPaneCheckingEnabled);
        frmParDespacho.setVisible(rootPaneCheckingEnabled);
        frmParDespacho.setResizable(false);
    }//GEN-LAST:event_mnuParDespachoActionPerformed

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        GUIReporteLogs frmReporteLogs = new GUIReporteLogs(this, rootPaneCheckingEnabled);
        frmReporteLogs.setResizable(false);
        frmReporteLogs.setVisible(true);
}//GEN-LAST:event_jMenuItem2ActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(GUIfrmPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(GUIfrmPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(GUIfrmPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(GUIfrmPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new GUIfrmPrincipal().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem MnPallet;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JMenuItem jMenuItem5;
    private javax.swing.JMenuItem jMenuItem6;
    private javax.swing.JMenuItem jMenuItem7;
    private javax.swing.JMenuItem jMenuItem8;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JPopupMenu.Separator jSeparator3;
    private javax.swing.JPopupMenu.Separator jSeparator4;
    private javax.swing.JPopupMenu.Separator jSeparator5;
    private javax.swing.JMenuItem jmiEmpleados;
    private javax.swing.JMenuItem jmiInventarioGeneral;
    private javax.swing.JMenuItem jmiMermasYPerdidas;
    private javax.swing.JMenuItem jmiReporteTrazabilidadPallets;
    private javax.swing.JLabel lb1;
    private javax.swing.JLabel lbTrabajador;
    private javax.swing.JLabel lbUsuario;
    private javax.swing.JLabel lblStockMin;
    private javax.swing.JLabel lblVencido;
    private javax.swing.JLabel lblVencimiento;
    private javax.swing.JMenu mnuArchivo;
    private javax.swing.JMenuItem mnuCambiarContrasenha;
    private javax.swing.JMenuItem mnuCargaMasiva;
    private javax.swing.JMenuItem mnuCerrarSesion;
    private javax.swing.JMenu mnuMantenimientos;
    private javax.swing.JMenuBar mnuMenu;
    private javax.swing.JMenuItem mnuParDespacho;
    private javax.swing.JMenuItem mnuParametrosAlerta;
    private javax.swing.JMenuItem mnuParametrosSeguridad;
    private javax.swing.JMenuItem mnuPerfiles;
    private javax.swing.JMenuItem mnuProductos;
    private javax.swing.JMenuItem mnuRegistrarDespacho;
    private javax.swing.JMenuItem mnuRegistrarInternamiento;
    private javax.swing.JMenuItem mnuRegistrarTraslado;
    private javax.swing.JMenuItem mnuReporteCardex;
    private javax.swing.JMenuItem mnuSalir;
    private javax.swing.JMenu mnuUsuario;
    private javax.swing.JMenuItem mnuUsuarios;
    private javax.swing.JMenuItem mnuVisualizarAlmacen;
    private javax.swing.JPanel pnlImagen;
    private javax.swing.JPanel pnlVencimiento;
    private javax.swing.JToolBar tbVentanaPrincipal;
    private javax.swing.JTable tblStockMin;
    private javax.swing.JTable tblVencidos;
    private javax.swing.JTable tblVencimiento;
    // End of variables declaration//GEN-END:variables

    private void habilitarPerfil() {
        desabilitarMenu();
        habilitarIntefaces(objPerfil.getInterfacesMantenimiento(),"Mantenimientos");
        habilitarIntefaces(objPerfil.getInterfacesProcesamiento(), "Procesamiento");
        habilitarIntefaces(objPerfil.getInterfacesReporte(),"Reportes");
        habilitarIntefaces(objPerfil.getInterfacesSeguridad(),"Seguridad");
    }

    private void desabilitarMenu() {
        
        for(int i=1;i<mnuMenu.getMenuCount();i++)
        {
            System.out.println("El menu "+mnuMenu.getMenu(i).getText()+" tiene "+ mnuMenu.getMenu(i).getItemCount()+" elementos.");
            for(int j=0;j<mnuMenu.getMenu(i).getItemCount();j++)
            {
                if(mnuMenu.getMenu(i).getItem(j) instanceof JMenuItem) mnuMenu.getMenu(i).getItem(j).setEnabled(false);
            }
        }
        //System.out.println(mnuMantenimientos.getItemCount());
    }

    private void habilitarIntefaces(ArrayList<BEInterface> interfacesMantenimiento, String nombreMenu) {
        
        //System.out.println("El nombre del menu a buscar es: "+nombreMenu);
        
        JMenu auxMenu =obtenerMenu(nombreMenu);
        
        for(int j=0;j<auxMenu.getItemCount();j++)
        {
                if(auxMenu.getItem(j)instanceof JMenuItem)
                {
                    System.out.println("Intentado desactivar el Menu: "+auxMenu.getItem(j).getText());
                    if (buscarEnListaInterfaces(interfacesMantenimiento,auxMenu.getItem(j).getText()))
                    {
                        auxMenu.getItem(j).setEnabled(true);
                    }
                }
                //if(mnuMenu.getMenu(i).getItem(j) instanceof JMenuItem) mnuMenu.getMenu(i).getItem(j).setEnabled(false);
        }
        
    }

    private JMenu obtenerMenu(String nombreMenu) {
        for(int i=1;i<mnuMenu.getMenuCount();i++)
        {
            if (mnuMenu.getMenu(i).getText().equals(nombreMenu)) return mnuMenu.getMenu(i);
            
        }
        
        return null;
    }

    private boolean buscarEnListaInterfaces(ArrayList<BEInterface> interfacesMantenimiento, String nombreInterface) {
     
        //System.out.println("\t\tSe busca la interface: "+nombreInterface);
        if ((interfacesMantenimiento==null)||(interfacesMantenimiento.isEmpty())) return false;
        
        for(BEInterface i:interfacesMantenimiento)
        {
            if (i.getNombre().equals(nombreInterface)) return true;
        }
        return false;
    }

    private void mostrarNotificaciones() {
        BLParametrosAlerta objGestorParametrosAlerta = new BLParametrosAlerta();
        
        objGestorParametrosAlerta.cargar();
        
        ArrayList<BEProducto> lstProductos = objGestorParametrosAlerta.analizarPorcentaje();
        ArrayList<BEPallet> lstPallet1 = objGestorParametrosAlerta.analizarVencimiento1();
        ArrayList<BEPallet> lstPallet2 = objGestorParametrosAlerta.analizarVencimiento2();
        ArrayList<BEPallet> lstPalletFinal = objGestorParametrosAlerta.analizarVencimientoFinal();
         
          //################LO QUE HABIA#########################
//        if(lstProductos.isEmpty())
//        {
//            txtStockProducto.setText("Ningún producto se acerca a su STOCK MINIMO.\n");
//        }
//        else
//        {        
//            if (objGestorParametrosAlerta.getBeAlerta().getPorcentaje()==0)
//                txtStockProducto.setText("Los siguientes productos no cumplen con su STOCK MINIMO:\n");
//            else txtStockProducto.setText("Los siguientes productos se acercan a su STOCK MINIMO:\n");
//            
//            for(BEProducto prod:lstProductos)
//            {
//                txtStockProducto.setText(txtStockProducto.getText()+prod.getIdProducto()+"-"+prod.getNombre()+"-"+prod.getCantidad()+"-"+prod.getStockMin()+"\n");
//            }        
//        }
          if(lstProductos.isEmpty()){
              lblStockMin.setText("Ningún producto se acerca a su STOCK MINIMO");
              BLModelo modelo = new BLModelo();
              tblStockMin.setModel(modelo);
              modelo.addColumn("IDPRODUCTO");
              modelo.addColumn("NOMBRE");
              modelo.addColumn("CANTIDAD");
              modelo.addColumn("STOCK MINIMO");
          }
          else
          {
              if (objGestorParametrosAlerta.getBeAlerta().getPorcentaje()==0)
                  lblStockMin.setText("Los siguientes productos no cumplen con su STOCK MINIMO:");
              else
                  lblStockMin.setText("Los siguientes productos se acercan o ya no cumplen su STOCK MINIMO:");
              
              BLModelo modelo = new BLModelo();
              tblStockMin.setModel(modelo);
              modelo.addColumn("IDPRODUCTO");
              modelo.addColumn("NOMBRE");
              modelo.addColumn("CANTIDAD");
              modelo.addColumn("STOCK MINIMO");
              for(BEProducto prod:lstProductos)
              {
                  Object fila[] = new Object[4];
                  fila[0] = prod.getIdProducto();
                  fila[1] = prod.getNombre();
                  fila[2] = prod.getCantidad();
                  fila[3] = prod.getStockMin();
                  
                  modelo.addRow(fila);
              }
              
          }
        
          if (lstPallet1.isEmpty() && lstPallet2.isEmpty()){
              lblVencimiento.setText("No hay pallets que estén en riesgo de VENCIMIENTO.\n");
              BLModelo modelo = new BLModelo();
              tblVencimiento.setModel(modelo);
              modelo.addColumn("IDPALLET");
              modelo.addColumn("PRODUCTO");
              modelo.addColumn("CANTIDAD");
              modelo.addColumn("F. VENCIMIENTO");
          }
          else
          {
              lblVencimiento.setText("Los siguientes pallets se encuentran en riesgo de VENCIMIENTO");
              BLModelo modelo = new BLModelo();
              tblVencimiento.setModel(modelo);
              modelo.addColumn("IDPALLET");
              modelo.addColumn("PRODUCTO");
              modelo.addColumn("CANTIDAD");
              modelo.addColumn("F. VENCIMIENTO");
              if (lstPallet1.size()>0){
                  for(BEPallet pa:lstPallet1)
                  {
                      Object fila[] = new Object[4];
                      fila[0] = pa.getIdPallet();
                      fila[1] = pa.getProducto().getNombre();
                      fila[2] = pa.getCantidad();
                      fila[3] = pa.getFechaVencimiento();

                      modelo.addRow(fila);
                  }
              }
              if (lstPallet2.size()>0){
                  for(BEPallet pa:lstPallet2)
                  {
                      Object fila[] = new Object[4];
                      fila[0] = pa.getIdPallet();
                      fila[1] = pa.getProducto().getNombre();
                      fila[2] = pa.getCantidad();
                      fila[3] = pa.getFechaVencimiento();

                      modelo.addRow(fila);
                  }
              }
          }

          if (lstPalletFinal.isEmpty()){
              lblVencido.setText("No hay pallets que estén VENCIDOS");
              BLModelo modelo = new BLModelo();
              tblVencidos.setModel(modelo);
              modelo.addColumn("IDPALLET");
              modelo.addColumn("PRODUCTO");
              modelo.addColumn("CANTIDAD");
              modelo.addColumn("F. VENCIMIENTO");
          }
          else
          {
              lblVencido.setText("Los siguientes pallets están VENCIDOS");
              BLModelo modelo = new BLModelo();
              tblVencidos.setModel(modelo);
              modelo.addColumn("IDPALLET");
              modelo.addColumn("PRODUCTO");
              modelo.addColumn("CANTIDAD");
              modelo.addColumn("F. VENCIMIENTO");
              for(BEPallet pa:lstPalletFinal)
              {
                  Object fila[] = new Object[4];
                  fila[0] = pa.getIdPallet();
                  fila[1] = pa.getProducto().getNombre();
                  fila[2] = pa.getCantidad();
                  fila[3] = pa.getFechaVencimiento();

                  modelo.addRow(fila);
              }
          }
   }
}
